<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>地图模板</title>
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta http-equiv="Expires" CONTENT="0">
    <meta http-equiv="Cache-Control" content="no-siteapp,no-transform,no-store, no-cache, must-revalidate">
    <meta http-equiv="Pragma" content="no-cache">
    <link rel="shortcut icon" href="./../../../favicon.ico" type="image/x-icon"/>
    <link rel="stylesheet" href="./../../../static/css/font.css">
    <link rel="stylesheet" href="./../../../static/css/weadmin.css">
    <script type="text/javascript" src="/lib/layui/layui.js" charset="utf-8"></script>
    <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css"/>
    <link rel="stylesheet" href="../../../static/css/buildUnit/common.css">
</head>
<body>
<div id="allmap" style="height: 100%;width: 100%"></div>
<input type="hidden" name="pointInfo"/>
<input type="submit" id="btnSubmit" style="display: none"/>
</body>
<script src="../../../static/js/main.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=7FEhdWVHu64KnGW93G56GMDEBYpx5eym"></script>
<script type="text/javascript"
        src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>

<script type="text/javascript">
    layui.use(['jquery', 'element', 'permission', 'bluebird', 'replaceStr', 'configureCom'], function () {
        var configureCom = layui.configureCom;
        var lat = configureCom.GetQueryString('lat');//初始加载的纬度
        var lng = configureCom.GetQueryString('lng');//初始加载的经度
        var editPoint = null;//绘制的坐标点
        var editMarker = null;//绘制的标注
        var $ = layui.$;
        var map = new BMap.Map("allmap");
        var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角，添加比例尺
        var top_left_navigation = new BMap.NavigationControl();  //左上角，添加默认缩放平移控件
        var geolocation = new BMap.Geolocation();
        var mapTemplate = {
            toolRender: function () {
                //实例化鼠标绘制工具
                map.enableScrollWheelZoom();   //启用滚轮放大缩小，默认禁用
                map.enableContinuousZoom();    //启用地图惯性拖拽，默认禁用
                map.addControl(top_left_control);// 左上角，添加比例尺
                map.addControl(top_left_navigation);//左上角，添加默认缩放平移控件
            },
            render: function () {
                if (lat && lng) {
                    editPoint = new BMap.Point(Number(lng), Number(lat));
                    editMarker = new BMap.Marker(editPoint);
                    $('input[name=pointInfo]').val(JSON.stringify({
                        lat: editPoint.lat,
                        lng: editPoint.lng
                    }));
                    map.addOverlay(editMarker);//在地图上添加Marker，并显示
                    map.centerAndZoom(editPoint, 12);
                    mapTemplate.toolRender();
                }
                else {
                    mapTemplate.locate();
                }
            },
            locate: function () {
                //定位
                geolocation.getCurrentPosition(function (r) {
                    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                        map.centerAndZoom(r.point, 12);
                        mapTemplate.toolRender();
                    }
                }, {enableHighAccuracy: true})
                //关于状态码
                //BMAP_STATUS_SUCCESS	检索成功。对应数值“0”。
                //BMAP_STATUS_CITY_LIST	城市列表。对应数值“1”。
                //BMAP_STATUS_UNKNOWN_LOCATION	位置结果未知。对应数值“2”。
                //BMAP_STATUS_UNKNOWN_ROUTE	导航结果未知。对应数值“3”。
                //BMAP_STATUS_INVALID_KEY	非法密钥。对应数值“4”。
                //BMAP_STATUS_INVALID_REQUEST	非法请求。对应数值“5”。
                //BMAP_STATUS_PERMISSION_DENIED	没有权限。对应数值“6”。(自 1.1 新增)
                //BMAP_STATUS_SERVICE_UNAVAILABLE	服务不可用。对应数值“7”。(自 1.1 新增)
                //BMAP_STATUS_TIMEOUT	超时。对应数值“8”。(自 1.1 新增)
            },
            eventBind: function () {
                //单击获取点击的经纬度
                map.addEventListener("click", function (e) {
                    $('input[name=pointInfo]').val(JSON.stringify({
                        lat: e.point.lat,
                        lng: e.point.lng
                    }));
                    editMarker = new BMap.Marker(e.point);
                    map.clearOverlays();
                    map.addOverlay(editMarker);//在地图上添加Marker，并显示
                });
                $('#btnSubmit').click(function () {
                    window.parWin.saveForm($('input[name=pointInfo]').val());
                });
            }
        };

        mapTemplate.render();
        mapTemplate.eventBind();
    });
</script>
</html>